Git

您所在的位置:网站首页 git config —global useremail Git

Git

2023-04-20 23:27| 来源: 网络整理| 查看: 265

客户端基本配置

Git 能够识别的配置项分为两大类:客户端和服务器端。 其中大部分属于客户端配置 —— 可以依你个人的工作偏好进行配置。 尽管 Git 支持的选项 繁多,但其中大部分仅仅在某些罕见的情况下有意义。 我们只讲述最平常和最有用的选项。 如果想得到你当前版本的 Git 支持的选项列表,请运行

$ man git-config

这个命令列出了所有可用的选项,以及与之相关的介绍。 你也可以在 http://git-scm.com/docs/git-config 找到同样的内容。

core.editor

默认情况下,Git 会调用你通过环境变量 $VISUAL 或 $EDITOR 设置的文本编辑器, 如果没有设置,默认则会调用 vi 来创建和编辑你的提交以及标签信息。 你可以使用 core.editor 选项来修改默认的编辑器:

$ git config --global core.editor emacs

现在,无论你定义了什么终端编辑器,Git 都会调用 Emacs 编辑信息。

commit.template

如果把此项指定为你的系统上某个文件的路径,当你提交的时候, Git 会使用该文件的内容作为提交的默认初始化信息。 创建的自定义提交模版中的值可以用来提示自己或他人适当的提交格式和风格。

例如:考虑以下 ~/.gitmessage.txt 模板文件:

Subject line (try to keep under 50 characters) Multi-line description of commit, feel free to be detailed. [Ticket: X]

注意此提交模版是如何提示提交者保持主题的简短(为了精简 git log --oneline 的输出), 如何在后面添加进一步的详情,如何引用问题和 bug 跟踪系统的工单号(Ticket),如果有的话。

要想让 Git 把它作为运行 git commit 时显示在你的编辑器中的默认信息,如下设置 commit.template:

$ git config --global commit.template ~/.gitmessage.txt $ git commit

当你提交时,编辑器中就会显示如下的提交信息占位符:

Subject line (try to keep under 50 characters) Multi-line description of commit, feel free to be detailed. [Ticket: X] # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch master # Changes to be committed: # (use "git reset HEAD ..." to unstage) # # modified: lib/test.rb # ~ ~ ".git/COMMIT_EDITMSG" 14L, 297C

如果你的团队对提交信息有格式要求,可以在系统上创建一个文件,并配置 Git 把它作为默认的模板,这样可以更加容易地使提交信息遵循格式。

core.pager

该配置项指定 Git 运行诸如 log 和 diff 等命令所使用的分页器。 你可以把它设置成用 more 或者任何你喜欢的分页器(默认用的是 less),当然也可以设置成空字符串,关闭该选项:

$ git config --global core.pager ''

这样不管命令的输出量多少,Git 都会在一页显示所有内容。

user.signingkey

如果你要创建经签署的含附注的标签(正如 签署工作 所述), 那么把你的 GPG 签署密钥设置为配置项会更好。如下设置你的密钥 ID:

$ git config --global user.signingkey

现在,你每次运行 git tag 命令时,即可直接签署标签,而无需定义密钥:

$ git tag -s core.excludesfile

正如 忽略文件 所述,你可以在你的项目的 .gitignore 文件里面规定无需纳入 Git 管理的文件的模板,这样它们既不会出现在未跟踪列表, 也不会在你运行 git add 后被暂存。

不过有些时候,你想要在你所有的版本库中忽略掉某一类文件。 如果你的操作系统是 macOS,很可能就是指 .DS_Store。 如果你把 Emacs 或 Vim 作为首选的编辑器,你肯定知道以 ~ 结尾的文件名。

这个配置允许你设置类似于全局生效的 .gitignore 文件。 如果你按照下面的内容创建一个 ~/.gitignore_global 文件:

*~ .*.swp .DS_Store

……然后运行 git config --global core.excludesfile ~/.gitignore_global,Git 将把那些文件永远地拒之门外。

help.autocorrect

假如你打错了一条命令,会显示:

$ git chekcout master git:'chekcout' 不是一个 git 命令。参见 'git --help'。 您指的是这个么? checkout

Git 会尝试猜测你的意图,但是它不会越俎代庖。 如果你把 help.autocorrect 设置成 1,那么只要有一个命令被模糊匹配到了,Git 会自动运行该命令。

$ git chekcout master 警告:您运行一个不存在的 Git 命令 'chekcout'。继续执行假定您要要运行的 是 'checkout' 在 0.1 秒钟后自动运行...

注意提示信息中的“0.1 秒”。help.autocorrect 接受一个代表十分之一秒的整数。 所以如果你把它设置为 50, Git 将在自动执行命令前给你 5 秒的时间改变主意。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3